/*
▄████▄ █ ██ ██▀███ ██████ ▓█████ ▓█████▄ ███▄ █ ██▓ ███▄ █ ▄▄▄██▀▀▀▄▄▄
▒██▀ ▀█ ██ ▓██▒▓██ ▒ ██▒▒██ ▒ ▓█ ▀ ▒██▀ ██▌ ██ ▀█ █ ▓██▒ ██ ▀█ █ ▒██ ▒████▄
▒▓█ ▄ ▓██ ▒██░▓██ ░▄█ ▒░ ▓██▄ ▒███ ░██ █▌ ▓██ ▀█ ██▒▒██▒▓██ ▀█ ██▒ ░██ ▒██ ▀█▄
▒▓▓▄ ▄██▒▓▓█ ░██░▒██▀▀█▄ ▒ ██▒▒▓█ ▄ ░▓█▄ ▌ ▓██▒ ▐▌██▒░██░▓██▒ ▐▌██▒▓██▄██▓ ░██▄▄▄▄██
▒ ▓███▀ ░▒▒█████▓ ░██▓ ▒██▒▒██████▒▒░▒████▒░▒████▓ ▒██░ ▓██░░██░▒██░ ▓██░ ▓███▒ ▓█ ▓██▒
░ ░▒ ▒ ░░▒▓▒ ▒ ▒ ░ ▒▓ ░▒▓░▒ ▒▓▒ ▒ ░░░ ▒░ ░ ▒▒▓ ▒ ░ ▒░ ▒ ▒ ░▓ ░ ▒░ ▒ ▒ ▒▓▒▒░ ▒▒ ▓▒█░
░ ▒ ░░▒░ ░ ░ ░▒ ░ ▒░░ ░▒ ░ ░ ░ ░ ░ ░ ▒ ▒ ░ ░░ ░ ▒░ ▒ ░░ ░░ ░ ▒░ ▒ ░▒░ ▒ ▒▒ ░
░ ░░░ ░ ░ ░░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ ░ ▒
░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░
░ ░
*/
#include <bits/stdc++.h>
using namespace std;
#define nl "\n"
#define ll long long int
#define INF int(1e9)
#define LINF 1e18
#pragma GCC optimize("O3")
#pragma GCC target("sse4")
bool find(int a[], int l, int r)
{
for (int i = l; i < r; i++)
{
for (int j = i + 1; j < r; j++)
{
for (int k = j + 1; k < r; k++)
{
if ((a[i] <= a[j] && a[j] <= a[k]) || (a[i] >= a[j] && a[j] >= a[k]))
{
return true;
}
}
}
}
return false;
}
void solve(int tc)
{
int n;
cin >> n;
int a[n];
for (int i = 0; i < n; i++)
{
cin >> a[i];
}
ll ans = n + max(n - 1, 0) + max(n - 2, 0) + max(n - 3, 0);
for (int i = 0; i <= n - 3; i++)
{
if (find(a, i, i + 3))
ans--;
}
for (int i = 0; i <= n - 4; i++)
{
if (find(a, i, i + 4))
ans--;
}
cout << ans << nl;
}
int main()
{
// #ifndef ONLINE_JUDGE
// freopen("input.txt", "r", stdin);
// freopen("output.txt", "w", stdout);
// #endif
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int T = 1;
cin >> T;
for (int t = 1; t <= T; t++)
{
// cout << "Case #" << t << ": ";
solve(t);
}
}
733. Flood Fill | 206. Reverse Linked List |
83. Remove Duplicates from Sorted List | 116. Populating Next Right Pointers in Each Node |
145. Binary Tree Postorder Traversal | 94. Binary Tree Inorder Traversal |
101. Symmetric Tree | 77. Combinations |
46. Permutations | 226. Invert Binary Tree |
112. Path Sum | 1556A - A Variety of Operations |
136. Single Number | 169. Majority Element |
119. Pascal's Triangle II | 409. Longest Palindrome |
1574A - Regular Bracket Sequences | 1574B - Combinatorics Homework |
1567A - Domino Disaster | 1593A - Elections |
1607A - Linear Keyboard | EQUALCOIN Equal Coins |
XOREQN Xor Equation | MAKEPAL Weird Palindrome Making |
HILLSEQ Hill Sequence | MAXBRIDGE Maximise the bridges |
WLDRPL Wildcard Replacement | 1221. Split a String in Balanced Strings |
1002. Find Common Characters | 1602A - Two Subsequences |